1. Field of the Invention
This invention relates to a semiconductor memory device, especially relates to a write control scheme for storing multi-value data.
2. Description of Related Art
A flash memory, which is known as an electrically writable and non-volatile semiconductor memory (EEPROM), is to store data in a non-volatile manner in accordance with charge stored states in a charge storage layer (e.g., floating gate) of a memory cell. It stores, for example, a binary data defined by logic “1” or “0” data. Data “1” and “0” are defined as a low threshold voltage state (usually, negative threshold state) where electrons of the floating gate have been released and a high threshold voltage state (usually, positive threshold state) where electrons have been injected into the floating gate, respectively.
To increase the storage capacitance of the flash memory, it is usually utilized a multi-value storage scheme in which one memory cell stores plural bits. In a four-value storage scheme, data write will be controlled to store one of “11”, “10”, “01” and “00”, that are arranged in order of threshold voltage height.
A NAND-type flash memory is known as one of the flash memories. The NAND-type flash memory may be easily formed to have a large capacitance because plural memory cells are connected in series in such a way that adjacent two memory cells share a source/drain diffusion layer.
Data write of a flash memory is performed by applying a write voltage to a selected memory cell so as to cause the memory cell to be electron-injected into floating gate thereof. To bring the data threshold voltages of written memory cells into a certain distribution rage, it is required to repeat write voltage application and write-verify for verifying the written state. Further, step up the write voltages little by little in process of the write cycles, and it becomes possible to precisely control the threshold voltage distribution.
In the NAND-type flash memory, data write is performed by a page, and this makes possible to achieve a substantially high rate data write. At a data write time, a write voltage is applied to a selected word line corresponding to a selected page in a selected block; and a write pass voltage to unselected (i.e., non-selected) word lines, which are at least located on the bit line side. At a write-verify time, a verify-use read voltage (i.e., verify voltage) is applied to the selected word line; and a read pass voltage to unselected word lines, which turns on cells without regard to cell's data.
To achieve a high rate write performance in the flash memory, it is preferable in general to set the write voltage to be high. However, in case the write voltage is set to be too high, it becomes difficult to precisely control the data threshold distributions. This becomes problem especially in a multi-value data storage memory, in which it is required to control the data threshold distributions to have narrow ranges respectively.
It has already been provided an effective approach for solving the above-described problem that data write for a target threshold voltage distribution is performed by two stages with different write conditions as described bellow (see, Unexamined Japanese Patent Application Publication No. 2003-196988). A first stage write is performed under a condition of relatively high rate writing; and the following write-verify is performed with a verify voltage lower than the lower limit of a target threshold voltage distribution. A second stage write after having passed the first stage write is performed under a condition of lower rate writing; and the following write-verify is performed with a verify voltage equal to the lower limit of the target threshold voltage distribution.
To exchange the write speed between the first and second stages, a control voltage, that is applied to a bit line for defining the channel potential, is exchanged. In detail, a first control voltage (e.g., 0V ordinary used at a “0” write time) is applied to a bit line at the 1st “0” write stage; and a second control voltage (e.g., 0.4V) to the bit line at the 2nd “0” write stage, which is higher than the first control voltage and lower than a write-inhibiting voltage. As a bit line control voltage for write-inhibiting (i.e., “1” writing), a power supply voltage, Vcc, is used as similar to an ordinary case.
By use of such the write method, it becomes possible to write a narrow threshold distribution with a high rate and without reducing the write voltage.
However, it is insufficient for performing data write into a block with plural pages at a high rate that only one page data write has been improved to have a high rate performance. For example, suppose a case where the above-described write scheme using two stages with different write conditions is adapted to four-value data write. In the data write of four-value data “xy” defined by a higher bit “x” and a lower bit “y”, after having erased the entire memory cells (i.e., data “11” state), lower bit “y” write (i.e., data “10” write) is performed, following it higher bit “x” write (i.e., data “01” and “00” write) is performed.
In this case, to perform “01” write and “00” write simultaneously, it is required to do write-verify referring to the lower bit data (i.e., data “11” and “10”) that has already been written. To make this possible, it is required that data “11” and “10” are read out and held in a data cache disposed in parallel with the sense amplifier circuit while data write is performed with data “01” and “00” held in the sense amplifier circuit.
Therefore, it is impossible to load the next page data until one page data write ends. To make possible to load the next page data while one page data read is performed, it is necessary for adding another data latch.